package com.spddr.pmos.cxf;

import java.util.List;

import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;

import com.spddr.pmos.jpa.Metric;

import cn.seqdata.cxf.repos.JaxrsRepository;

@Path("/metric")
public interface JaxrsMetric extends JaxrsRepository<Metric, String> {
	@GET
	@Path("/{id}")
	default Metric findOne(@PathParam("id") String id) {
		return getRepository().findOne(id);
	}

	@GET
	@Path("/all")
	default List<Metric> findAll() {
		return getRepository().findAll();
	}

	@PUT
	@Path("/")
	default <S extends Metric> S save(S entity) {
		return getRepository().save(entity);
	}

	@DELETE
	@Path("/{id}")
	default void delete(@PathParam("id") String id) {
		getRepository().delete(id);
	}

	@DELETE
	@Path("/all")
	default void deleteAll() {
		getRepository().deleteAll();
	}
}
